#!/bin/bash
#********************************************************************
# Author: zhangjunjie
# Date: 2022-06-23
# FileName：centos_install_openresty.sh
#********************************************************************
## 先判断是否存在自定义的方法文件, 如果不存在, 则进行下载操作
if [ ! -e self_function.sh ]; then
	rpm -q wget || (yum install wget -y || { echo -e "\E[31;1m 安装 wget 软件包失败 \E[0m" ; exit; })

	echo -e "\E[33;1m 下载自定义方法中 \E[0m"
	wget https://gitee.com/gkdaxue/shell_script/raw/master/self_function.sh
	if [ ! -e self_function.sh ]; then 
		echo -e "\E[31;1m 下载自定义方法失败 \E[0m"
		exit;
	fi
fi

## 加载自定义方法
. ./self_function.sh
actions 'echo_tips' "加载自定义方法";

### ----------- 源码安装常量的位置 ----------- ###
SRC_DIR='/usr/local/src'
OPENRESTY_VERSION="1.17.8.2"
OPENRESTY_DIR="openresty-${OPENRESTY_VERSION}"
OPENRESTY_FILE="${OPENRESTY_DIR}.tar.gz"
OPENRESTY_DOWN_URL="https://openresty.org/download/${OPENRESTY_FILE}"
PREFIX="/apps/${OPENRESTY_DIR}"
### ----------- 源码安装常量的位置 ----------- ###


## 判断用户存不存在
id nginx  &> /dev/null
if [ $? -ne 0 ];then
	actions 'echo_tips' "创建 nginx 用户"
fi

## 判断安装目录存不存在以及下载源码文件
mkdir -p ${PREFIX}
cd $SRC_DIR
if [ ! -e $OPENRESTY_FILE ]; then
	wget $OPENRESTY_DOWN_URL
fi

## 下载文件并进入下载目录
yum install -y gcc perl pcre pcre-devel openssl openssl-devel
tar xf "${OPENRESTY_FILE}"
cd $OPENRESTY_DIR

./configure --prefix=${PREFIX} \
	--user=nginx \
	--group=nginx \
	--with-http_ssl_module \
	--with-http_v2_module \
	--with-http_realip_module \
	--with-http_stub_status_module \
	--with-http_gzip_static_module \
	--with-stream \
	--with-stream_ssl_module \
	--with-stream_realip_module \
	--with-pcre

make && make install
chown -Rf nginx.nginx ${PREFIX}
actions 'echo_success' "编译完成, 即将退出"